package com.naiterui.ehp.bs.doctor.repository;

import com.naiterui.common.repository.core.BaseJpaRepository;
import com.naiterui.ehp.bp.domain.BannerInfo;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * banner信息Dao

 * @since 2.0.0
 */
@Repository
public interface IBannerInfoRepository extends BaseJpaRepository<BannerInfo, Long> {

    /**
     * 根据banner展示轮播量获取banner集合
     * IBannerInfoDao.getBannerInfo()

     * @Date 2016年1月29日
     * @since 2.0.0
     * @return  DateUtil.getCurrentFormatDateTime()
     */
    @Query(" FROM BannerInfo WHERE bannerType = 1 AND startTime <= ?1 AND endTime >= ?2 AND status <> 4 ORDER BY displayOrder ASC,id DESC")
    List<BannerInfo> getBannerInfo(Date startTime, Date endTime);

    /**
     * 获取浮层活动banner
     * @return
     */
    @Query( " FROM BannerInfo WHERE bannerType = 2 AND startTime <= ?1 AND endTime >= ?2 AND status <> 4 ORDER BY displayOrder ASC,id DESC")
    List<BannerInfo> getLayerInfo(Date startTime, Date endTime);

    /**
     * 根据活动类型获取当前进行中的活动列表(不考虑标签因素)
     * IBannerInfoDao.getBannerByType()
     * @author fangguanhong
     * @Date 2018年4月25日
     * @since 1.0.0
     * @param bannerType
     * @return
     */
    @Query("FROM BannerInfo WHERE bannerType = ?1 AND startTime <= ?2 AND endTime >= ?3 AND status <> 4 ORDER BY displayOrder ASC,id DESC")
    List<BannerInfo> getBannerByType(Integer bannerType, Date startTime, Date endTime);

}
